Conventionally, there has been a reproduction apparatus that reproduces different system streams continuously and seamlessly, i.e., without seams. For example, Japanese Published Patent Application No. 2002-298509 (Japanese Patent Application No. 2002-17283) discloses an apparatus that seamlessly reproduces a bitstream having discontinuous system time information.
Hereinafter, the stream reproduction apparatus disclosed in the above-mentioned publication will be described briefly.
FIG. 27 is a diagram for explaining the stream reproduction apparatus.
This stream reproduction apparatus 200 decodes and reproduces a multimedia bitstream that is edited by an authoring coding apparatus. Here, the authoring coding apparatus performs coding and edition of original multimedia data in accordance with a scenario suited to needs of users.
The stream reproduction apparatus 200 includes a stream reading unit 201 for reading a multimedia bitstream Rs recorded on a recording medium M, by a read control signal Csr, and a stream buffer 202 in which the read multimedia bitstream Rs is stored. The stream buffer 202 outputs control data Stc such as synchronous information included in the stored stream.
The stream reproduction apparatus 200 further includes a system decoder 203 which obtains a designated stream Ps from the stream buffer 202 on the basis of a control signal Csd that designates a stream and outputs the designated stream Es thus obtained, and further, outputs reproduction time information Stm relating to the designated stream Es, and a video buffer 204 in which the designated stream Es obtained by the system decoder 203 is stored.
The stream reproduction apparatus 200 further includes a decoder 205 which outputs an output request signal Srv to the video buffer 204 on the basis of a decoding control signal Cd, and decodes a buffer output stream Bs that is outputted from the video buffer 204 in response to the output request signal to output decoded data Dd, and a frame buffer 206 in which the decoded data Dd is stored.
Further, the stream reproduction apparatus 200 includes a control unit 210 for controlling the respective parts thereof. This control unit 210 outputs a reading control signal Csr, a system decoder control signal Csd, and a decoder control signal Cd to the stream reading unit 201, the system decoder 203, and the decoder 205, respectively, as control signals thereof, so that a desired stream in the multimedia bitstream that is recorded on the recording medium M is reproduced on the basis of an instruction signal Sop that is generated by user operation.
The above-mentioned multimedia bitstream includes not only the coded video data but also other coded data such as coded audio data. While the stream reproduction apparatus 200 actually includes an audio decoder and the like, only the decoding system for decoding the coded video streams is shown in FIG. 27 for simplification. Further, the controls by the control unit 210 for controlling the respective units are also simplified.
Further, the multimedia bitstream recorded in the recording medium M has an information presenting smooth reproduction embedded therein so as to enable smooth reproduction at a joint portion of the system streams when a system stream (VOB) and another system stream are continuously reproduced. This information presenting smooth reproduction is a seamless reproduction flag indicating a system clock corresponding to one VOB being switched to a system clock corresponding to another VOB at the joint portion of the system streams, and it is supplied from the stream buffer 202 to the control unit 210 as the control data Stc.
The control unit 210 is operated to switch the system clock corresponding to the one VOB to the system clock corresponding to another VOB at the joint portion of the system streams on the basis of the reproduction time information Stm outputted from the system decoder 203 according to the seamless reproduction flag, when the system stream corresponding to one VOB and the system stream corresponding to the other VOB are continuously reproduced.
Next, the operation will be described.
In the image reproduction apparatus (stream reproduction apparatus) 200, when an instruction signal Sop due to user operation is inputted, the control unit 210 controls the stream reading unit 201, the system decoder 203, and the decoder 205 so as to perform reproduction of a desired stream in the multimedia bitstream recorded on the recording medium M.
To be specific, the stream reading unit 201 reads the multimedia bitstream Rs recorded on the recording medium M on the basis of the reading control signal Csr supplied from the control unit 210, and stores the multimedia bitstream Rs in the stream buffer 202. At this time, control data Stc such as sync information that is included in the stored stream is outputted from the stream buffer 202 to the control unit 210.
Next, the system decoder 203 obtains a designated stream Ps from the stream buffer 202 on the basis of the control signal Csd that designates a stream and is outputted from the control unit 210, and outputs the obtained stream Es to the video buffer 204, and simultaneously, outputs the reproduction time information Stm relating to the obtained designated stream Es to the control unit 210.
Then, the decoder 205 outputs an output request signal Srv to the video buffer 204 on the basis of the decoding control signal Cd supplied from the control unit 210, and decodes the buffer output stream Bs that is outputted from the video buffer 204 in response to the output request signal Srv to output decoded data Dd. The decoded data Dd is stored in the frame buffer 206. The frame buffer 206 outputs the decoded data Bd to a display unit (not shown) in appropriate display order.
When a system stream corresponding to one VOB and a system stream corresponding to another VOB are continuously reproduced according to a seamless reproduction flag included in the control data Stc outputted from the stream buffer 202, the system clock that is referred in the decoder 205 is switched from a system clock corresponding to the one VOB to a system clock corresponding to the other VOB at the joint portion of the system streams, on the basis of the reproduction time information Stm outputted from the system decoder 203, according to the seamless reproduction flag included in the control data Stc supplied from the stream buffer 202. The decoder 205 performs seamless reproduction of the bitstreams that are included in the system streams of the different VOBs.
FIGS. 28(a)-28(c) illustrate a reproduction method using a playlist (28(a)), an example of description of the playlist (28(b)), and an example of description of access information (28(c)).
In the reproduction using a playlist, as shown in FIG. 28(a), initially, portions of the stream to be reproduced and the reproduction order are determined on the basis of the playlist PL, and next, address positions of the determined reproduction portions are determined on the basis of the access information included in the playlist PL, and further, the reproduction portions of the stream are successively obtained from the determined address positions, and then decoded and reproduced.
The playlist (first data) PL designates which portions (indicated by such as playback start time and playback end time) of which streams (designated by such as a file name) STRM are reproduced in what order.
The access information (second data) AI is information for specifying the on-disk address positions of the reproduction portions that are designated by the playlist PL, and it includes, for example, a table on which the relationships between PTS (Presentation Time Stamps) of head pictures (decoding order) in random access units and address information are recorded.
The stream STRM is a stream in which coded data are packetized (e.g., packetized by TS (Transport) packets in a BD (Blu-ray Disk) or by PES (Packetized Elementary Stream) packets in a HDDVD (High Definition DVD)), or a coded stream in which coded data are not packetized.
More specifically, in the playlist PL, it is possible to indicate the connection condition (whether seamless connection is possible or not, or whether it is a switching point to multiangle or not) between the respective items (individual reproduction units shown in the playlist).
Further, as for the access information AI, not only the relationships between the PTS and the addresses but also attribute information such as coding methods and frame rates of the streams can be indicated.
For example, there is an example of a playlist shown in FIG. 28(b) as follows:
playlist {item 1:stream1.ts pts.in:0,pts_out:60item 2:stream2.ts pts.in:30,pts_out:60item 1 and item 2: seamlessly connectableitem 3: stream3.ts pts.in:60,pts_out:90item 2 and item 3: seamlessly unconnectable}
This playlist indicates that a portion of stream1.ts from 0 sec to 60 sec, a portion of stream2.ts from 30 sec to 60 sec, and a portion of stream3.ts from 60 sec to 90 sec are successively reproduced.
Further, there is an example of access information shown in FIG. 28(c) as follows:
access information for stream1.ts { attribute information { coding method: MPEG-4 AVC frame rate: 24Hz ... } access table for stream1.ts {  pts:0 address:1000  pts:5 address:1500  ...  pts:60 address:9000
This access information indicates that the coding method for video in stream1.ts is MPEG-4 AVC, and data are obtained from 1000th byte to reproduce the video from 0 sec.
The access information is provided for each stream.
FIG. 29 is a diagram for explaining a format of playlists corresponding to BD-RE (Rewritable), and specifically, FIG. 29(a) shows the correspondences between playlists and reproduction portions designated by the playlists, FIG. 29(b) shows the description contents in a playlist, and FIG. 29(c) shows the description contents in a playitem.
In FIG. 29, C1˜C3 denote clips, and each clip shows a set of access information and a stream, i.e., it collectively shows a stream and access information that is correlated with the stream. R1˜R7 denote desired ranges in the clips C1˜C3, respectively, which are desired to be reproduced by the user. MPL1˜MPL4 denote playlists (Movie PlayList), and PI1˜PI7 denote playitems (PlayItem).
In FIG. 29, Movie PlayList MPL1 includes PlayItem PI1 and PlayItem PI3, and PlayItem PI1 and PlayItem PI3 designate range R1 in Clip C1 and range R3 in Clip C2, respectively. Hereinafter, likewise, Movie PlayList MPL2 includes PlayItem PI2, and PlayItem PI2 designates range R2 in Clip C1. Movie PlayList MPL3 includes PlayItem PI5 and PlayItem PI7, and PlayItem PI5 and PlayItem PI7 designate range R5 in Clip C2 and range R7 in Clip C3, respectively. Movie PlayList MPL4 includes PlayItem PI4 and PlayItem PI6, and PlayItem PI4 and PlayItem PI6 designate range R4 in Clip C2 and range R6 in Clip C3, respectively.
The following description is a format of a playlist (refer to FIG. 29(b)).
PlayList( ) {...number_of_PlayItems...for (PlayItem_id=0; PlayItem_id<number_of_PlayItems PlayItem_id++) {PlayItem( )}...}
Here, number_of_PlayItems indicates the number of playitems constituting the playlist.
Further, the description part corresponding to
for (PlayItem_id=0;  PlayItem_id<number_of_PlayItems  PlayItem_id++) {PlayItem( )is a table of a playitem.
Further, the following description is a format of the playitem included in the table of the playitem (refer to FIG. 29(c)).
PlayItem( ) {...Clip_Information_file_name......IN_timeOUT_time...}
Here, Clip_Information_file_name indicates a file name of a file in which the access information is stored, IN_time indicates reproduction start PTS, and OUT_time indicates reproduction end PTS.
FIG. 30 is a diagram for explaining the clips shown in FIG. 29, and specifically, FIG. 30(a) shows the correspondences between playlists and reproduction portions in the clips, which are designated by the playlists, and FIG. 30(b) shows description contents of stream attribute information (StreamCodingInfo) in access information.
Each of playlists MPL11˜MPL13 comprises at least one item.
In FIG. 30, CI11 and CI12 denote access information (Clip Information), which are data required when performing random access to recorded AV streams.
Further, CAV11 and CAV12 denote streams (Clip AV streams) associated with the access information, and the recorded AV streams are stored therein.
Accordingly, for example, Clip Information CI1 in Clip C1 is designated by PlayItem PI11 in Movie Playlist MPL11, whereby a desired reproduction range R11 in Clip AV stream CAV11 is designated.
A format of stream attribute information (StreamCodingInfo (i,stream_index)) in the access information is as follows:
StreamCodingInfo(i,stream_index) {...stream_coding_type......}wherein stream_coding_type shows a coding method.
The inside of
{  ...stream_coding_type  ...  ...}describes the stream attribute information in the access information (Clip Information).
When using the playlist defined as mentioned above, it is possible to perform reproduction with designating predetermined ranges in the clip (e.g., ranges R1˜R7 shown in FIG. 29).